package com.yoda.youdianda.common;

import lombok.Data;

/**
 * @author shawn
 * @date 2022年 11月 12日 20:17
 * 通用返回类
 */

@Data
public class R<T> {

    private Integer errno;
    private String errmsg = "";
    private T data;

    public static <T> R<T> success(T object, Integer status) {
        R<T> r = new R<>();
        r.data = object;
        r.errno = status;
        if (object instanceof String) {
            r.errmsg = (String) object;
        }
        return r;
    }

    public static <T> R<T> success(T object) {
        R<T> r = new R<>();
        r.data = object;
        r.errno = 0;
        if (object instanceof String) {
            r.errmsg = (String) object;
        }
        return r;
    }

    public static <T> R<T> error(String msg, Integer status) {
        R r = new R();
        r.data = msg;
        r.errmsg = msg;
        r.errno = status;
        return r;
    }

    public static <T> R<T> error(String msg) {
        R r = new R();
        r.data = msg;
        r.errmsg = msg;
        r.errno = 1;
        return r;
    }
}
